package com.scorpio.order.service;


import com.scorpio.appuser.domain.AppUserEntity;
import com.scorpio.goods.enums.GoodsStatusEnum;
import com.scorpio.order.domain.OrderEntity;
import com.scorpio.order.dto.OrderDTO;
import com.scorpio.order.dto.OrderDetailsDTO;
import com.scorpio.order.enums.OrderStatusEmun;
import com.scorpio.order.vo.OrderQueryVo;
import com.scorpio.order.vo.PayOrderVo;
import com.scorpio.order.vo.SubmitShopCartOrderVo;
import com.scorpio.order.vo.SubmitShopOrderVo;
import com.scorpio.sdk.dto.WXMiniPayPackge;

import java.util.List;

/**
 * 订单Service接口
 *
 * @author scorpio
 * @date 2021-11-29
 */
public interface OrderService {

    int countByStatus(Long uid,OrderStatusEmun statusEnum);

    List<OrderDTO> orderList(OrderQueryVo vo);

    OrderDetailsDTO orderDetails(AppUserEntity user, Long id);

    OrderEntity submitShopCart(SubmitShopCartOrderVo vo);

    OrderEntity submitShopOrder(SubmitShopOrderVo vo);

    WXMiniPayPackge placeOrder(AppUserEntity user, PayOrderVo vo);

}
